%% This BibTeX bibliography file was created using BibDesk.
%% http://www.cs.ucsd.edu/~mmccrack/bibdesk.html


%% Created for Doaitse at 2010-04-02 10:44:41 +0200 


%% Saved with string encoding Unicode (UTF-8) 


@string{acm = {{ACM} press}}

@string{aw = {{A}ddison-{W}esley}}

@string{cup = {{C}ambridge {U}niversity {P}ress}}

@string{j_acmcs = {{ACM} Computing Surveys}}

@string{jfp = {{J}ournal of {F}unctional {P}rogramming}}

@string{lncs = {{LNCS}}}

@string{sv = {{S}pringer-{V}erlag}}

@string{proc = {Proc. }}


@inproceedings{VS12,
	Author = {Viera, Marcos and Swierstra, S.~Doaitse},
	Booktitle = proc # {of the 16th Brazilian Symposium on Programming Languages},
	Location = {Natal, Brazil},
	Pages = {150--165},
	Title = {{Attribute Grammar Macros}},
	Year = {2012}}


@phdthesis{Ada91,
	author = {Stephen R. Adams},
	title = {Modular Grammars for Programming Language Prototyping},
	school = {University of Southampton, Department of Elec. and Comp. Sci.},
	year = {1991}

}

@InProceedings{kiama,
 author = {Anthony M. Sloane and Lennart C. L. Kats and Eelco Visser},
 title = {A Pure Object-Oriented Embedding of Attribute Grammars},
 booktitle = proc # {of the Ninth Workshop on Language Descriptions, Tools, and Applications},
 year = {2009},
 month = {March},
}

@article{scheme,
 author = {Adams,IV, N. I. and Bartley, D. H. and Brooks, G. and Dybvig, R. K. and Friedman, D. P. and Halstead, R. and Hanson, C. and Haynes, C. T. and Kohlbecker, E. and Oxley, D. and Pitman, K. M. and Rozas, G. J. and Steele,Jr., G. L. and Sussman, G. J. and Wand, M. and Abelson, H.},
 title = {Revised5 report on the algorithmic language scheme},
 journal = {SIGPLAN Not.},
 issue_date = {Sept. 1, 1998},
 volume = {33},
 number = {9},
 month = sep,
 year = {1998},
 issn = {0362-1340},
 pages = {26--76},
 numpages = {51},
 publisher = {ACM},
 address = {New York, NY, USA},
} 



@inproceedings{VSD12,
	Author = {Viera, Marcos and Swierstra, S.~Doaitse and Dijkstra, Atze},
	Booktitle = proc # {of the 12th Workshop on Language Descriptions Tools and Applications},
	Location = {Tallin, Estonia},
	Pages = {47--60},
	Title = {{Grammar Fragments Fly First-Class}},
	Year = {2012}}

@inproceedings{VSM12,
	Author = {Viera, Marcos and Swierstra, S. Doaitse and Middelkoop, Arie},
	Booktitle = proc # {of the 12th Workshop on Language Descriptions Tools and Applications},
	Location = {Tallin, Estonia},
	Title = {{UUAG Meets AspectAG}},
	Year = {2012}}

@techreport{UU-CS-2011-029,
	Author = {Viera, Marcos and Swierstra, S. Doaitse and Middelkoop, Arie},
	Howpublished = {\verb|http://www.cs.uu.nl/research/techreps/UU-CS-2011-029.html|},
	Institution = {Institute of Information and Computing Science},
	Month = {October},
	Number = {2011-029},
	School = {Institute of Information and Computing Science},
	Title = {{UUAG Meets AspectAG}},
	Type = {UU-CS},
	Year = {2011}}

@techreport{UU-CS-2011-028,
	Author = {Viera, Marcos and Swierstra, S. Doaitse},
	Date-Added = {2011-10-03 14:53:24 +0000},
	Date-Modified = {2011-10-03 15:36:52 +0000},
	Howpublished = {\verb|http://www.cs.uu.nl/research/techreps/UU-CS-2011-028.html|},
	Institution = {Institute of Information and Computing Science},
	Month = {October},
	Number = {2011-028},
	School = {Institute of Information and Computing Science},
	Title = {{Semantic Macros: Attribute Grammar Combinators}},
	Type = {UU-CS},
	Year = {2011}}


@article{129637,
	Address = {New York, NY, USA},
	Author = {Gray, Robert W. and Levi, Steven P. and Heuring, Vincent P. and Sloane, Anthony M. and Waite, William M.},
	Date-Added = {2010-04-02 10:44:34 +0200},
	Date-Modified = {2010-04-02 10:44:34 +0200},
	Issn = {0001-0782},
	Journal = {Commun. ACM},
	Number = {2},
	Pages = {121--130},
	Publisher = {ACM},
	Title = {Eli: a complete, flexible compiler construction system},
	Volume = {35},
	Year = {1992},
}

@inproceedings{1297029,
	Address = {New York, NY, USA},
	Author = {Ekman, Torbj\"{o}rn and Hedin, G\"{o}rel},
	Booktitle = proc # {of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications},
	Date-Added = {2010-04-02 10:43:23 +0200},
	Date-Modified = {2010-04-02 10:43:23 +0200},
	Location = {Montreal, Quebec, Canada},
	Pages = {1--18},
	Publisher = {ACM},
	Title = {The jastadd extensible java compiler},
	Year = {2007},
}

@techreport{901674,
	Address = {Vancouver, BC, Canada, Canada},
	Author = {Abramson, Harvey},
	Date-Added = {2010-04-02 10:32:50 +0200},
	Date-Modified = {2010-04-02 10:41:55 +0200},
	Institution = {University of British Columbia},
	Title = {Definite Clause Translation Grammars},
	Year = {1984}}

@inproceedings{Swie2000,
	Author = {Swierstra, S. Doaitse},
	Booktitle = {Haskell Workshop},
	Date-Added = {2010-04-02 10:17:35 +0200},
	Date-Modified = {2010-04-02 10:40:08 +0200},
	Editor = {Hutton, Graham},
	Title = {Parser Combinators: from Toys to Tools},
	Year = 2000,
	Bdsk-Url-1 = {www.cs.uu.nl/people/doaitse/}}

@inproceedings{middelkoop09wgt10,
	Author = {Middelkoop, Arie and Dijkstra, Atze and Swierstra, S. Doaitse},
	Booktitle = {Workshop on Generative Programming},
	Date-Added = {2010-04-02 09:36:18 +0200},
	Date-Modified = {2010-04-02 09:36:18 +0200},
	Title = {{Visit Functions} for the {Semantics} of {Programming Languages}},
	Year = {2010}}

@inproceedings{BaSw02,
	Author = {Baars, Arthur~I. and Swierstra, S.~Doaitse},
	Booktitle = proc # {of the seventh ACM SIGPLAN international conference on Functional programming},
	Date-Added = {2010-04-02 00:36:11 +0200},
	Date-Modified = {2010-04-02 00:36:11 +0200},
	Editor = {{Peyton Jones}, S.},
	Isbn = {1-58113-487-8},
	Location = {Pittsburgh, PA, USA},
	Pages = {157--166},
	Publisher = {ACM Press},
	Title = {{Typing dynamic typing}},
	Year = {2002},
}

@misc{typedlr,
	Author = {Hinze, Ralf and Paterson, Ross},
	Date-Added = {2010-04-01 21:57:59 +0200},
	Date-Modified = {2010-04-01 22:15:00 +0200},
	Title = {Derivation of a Typed Functional LR Parser},
	Year = {2003},
}

@inproceedings{507664,
	Address = {New York, USA},
	Author = {Paterson, Ross},
	Booktitle = proc # {of the 6th Int. Conference on Functional Programming},
	Date-Added = {2010-04-01 21:48:31 +0200},
	Date-Modified = {2010-04-01 21:48:31 +0200},
	Isbn = {1-58113-415-0},
	Location = {Florence, Italy},
	Pages = {229--240},
	Publisher = {ACM},
	Title = {A new notation for arrows},
	Year = {2001},
}


@inproceedings{uuparsing:piriapolis,
	Author = {Swierstra, S.~Doaitse},
	Booktitle = {Language Engineering and Rigorous Software Development},
	Date-Added = {2010-04-01 21:40:37 +0200},
	Date-Modified = {2010-04-01 21:40:37 +0200},
	Editor = {Bove, A. and Barbosa, L. and Pardo, A. and and Sousa Pinto, J.},
	Pages = {252-300},
	Place = {Piriapolis},
	Publisher = {Spinger},
	Series = {{LNCS}},
	Title = {Combinator Parsers: a short tutorial},
	Volume = {5520},
	Year = {2009}}

@techreport{KuipSwie86,
	Author = {Kuiper, M. F. and Swierstra, S. D.},
	Date-Added = {2010-04-01 21:39:12 +0200},
	Date-Modified = {2010-04-01 21:39:12 +0200},
	Institution = {Department of Computer Science},
	Number = {86-16},
	Title = {Using Attribute grammars to derive Efficient Functional Programs},
	Type = {RUU-CS},
	Year = {1986}}

@inproceedings{652508,
	Address = {London, UK},
	Author = {Johnsson, Thomas},
	Booktitle = proc # {of the Functional Programming Languages and Computer Architecture},
	Date-Added = {2010-04-01 21:02:12 +0200},
	Date-Modified = {2010-04-01 21:02:12 +0200},
	Isbn = {3-540-18317-5},
	Pages = {154--173},
	Publisher = {Springer-Verlag},
	Title = {Attribute grammars as a functional programming paradigm},
	Year = {1987}}

@article{MoorBackSwie,
	Author = {{de Moor}, Oege and  Backhouse, Kevin and Swierstra, S. Doaitse},
	Date-Added = {2010-04-01 20:59:09 +0200},
	Date-Modified = {2010-04-01 20:59:09 +0200},
	Editor = {Mernik, Marjan and Parigot, Didier},
	Issn = {ISSN 0350-5596},
	Journal = {Informatica: An International Journal of Computing and Informatics},
	Month = {June},
	Note = {Special Issue: Attribute grammars and Their Applications},
	Number = 2,
	Pages = {329-341},
	Title = {First Class Attribute Grammars},
	Volume = 24,
	Year = 2000,
}

@article{A68,
	Author = {van Wijngaarden, A. and Mailloux, B. and Peck, J. and Koster, C. and Sintzoff, M. and Lindsey, C. and Meertens, L. and Fisker, R. G. E. .},
	Date-Added = {2010-04-01 17:16:00 +0200},
	Date-Modified = {2010-04-01 22:15:11 +0200},
	Journal = {ACM SIGPLAN Notices},
	Month = {May},
	Number = {5},
	Pages = {1-70},
	Title = {Revised Report on the Algorithmic Langauge ALGOL68},
	Volume = {12},
	Year = {1977},
}

@article{365879,
	Address = {New York, NY, USA},
	Author = {Leavenworth, B. M.},
	Date-Added = {2010-04-01 17:12:13 +0200},
	Date-Modified = {2010-04-01 17:12:13 +0200},
	Issn = {0001-0782},
	Journal = {Commun. ACM},
	Number = {11},
	Pages = {790--793},
	Publisher = {ACM},
	Title = {Syntax macros and extended translation},
	Volume = {9},
	Year = {1966},
}

@article{191491,
	Address = {Secaucus, NJ, USA},
	Author = {Kastens, U. and Waite, W. M.},
	Date-Added = {2010-04-01 17:11:27 +0200},
	Date-Modified = {2010-04-01 17:11:27 +0200},
	Issn = {0001-5903},
	Journal = {Acta Inf.},
	Number = {7},
	Pages = {601--627},
	Publisher = {Springer-Verlag New York, Inc.},
	Title = {Modularity and reusability in attribute grammars},
	Volume = {31},
	Year = {1994},
}

@article{1280322,
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Van Wyk, Eric},
	Date-Added = {2010-04-01 17:08:54 +0200},
	Date-Modified = {2010-04-01 17:08:54 +0200},
	Issn = {0167-6423},
	Journal = {Sci. Comput. Program.},
	Number = {1},
	Pages = {38--61},
	Publisher = {Elsevier North-Holland, Inc.},
	Title = {Implementing aspect-oriented programming constructs as modular language extensions},
	Volume = {68},
	Year = {2007},
}



@article{silver,
  author    = {Eric {Van Wyk} and
               Derek Bodin and
               Jimin Gao and
               Lijesh Krishnan},
  title     = {Silver: An extensible attribute grammar system},
  journal   = {Sci. Comput. Program.},
  volume    = {75},
  number    = {1-2},
  year      = {2010},
  pages     = {39-54},
}



@inproceedings{155105,
	Address = {New York, NY, USA},
	Author = {Weise, Daniel and Crew, Roger},
	Booktitle = proc # {of the 1993 conference on Programming Language Design and Implementation},
	Date-Added = {2010-04-01 17:06:26 +0200},
	Date-Modified = {2010-04-01 17:06:26 +0200},
	Isbn = {0-89791-598-4},
	Location = {Albuquerque, New Mexico, United States},
	Pages = {156--165},
	Publisher = {ACM},
	Title = {Programmable syntax macros},
	Year = {1993},
}

@article{lisa,
	Author = {Mernik, Marjan and \v{Z}umer, Viljem},
	Date-Added = {2010-04-01 17:04:53 +0200},
	Date-Modified = {2010-04-01 17:04:53 +0200},
	Journal = {Computer languages, Systems and Structures},
	Keywords = {Attribute grammars; Compiler--compilers; Modular; Reusable and extensible language definition},
	Pages = {1-16},
	Title = {Incremental programming language development},
	Volume = {31},
	Year = {2005},}

@article{jastadd,
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Ekman, Torbj\"{o}rn and Hedin, G\"{o}rel},
	Issn = {0167-6423},
	Journal = {Sci. Comput. Program.},
	Number = {1-3},
	Pages = {14--26},
	Publisher = {Elsevier North-Holland, Inc.},
	Title = {The {JastAdd} system - modular extensible compiler construction},
	Volume = {69},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.scico.2007.02.003}}

@inproceedings{uuagc,
	Author = {Swierstra, S. Doaitse and Azero~Alcocer, Pablo R. and Saraiva, Jo{\~a}o A.},
	Booktitle = {Advanced Functional Programming, Third International School, AFP'98},
	Date-Added = {2008-07-15 17:22:15 +0200},
	Date-Modified = {2009-01-16 17:35:05 +0100},
	Editor = {Swierstra, S. D. and Henriques, Pedro and Oliveira, Jos\'{e}},
	Pages = {150-206},
	Publisher = {Springer-Verlag},
	Series = {LNCS},
	Title = {Designing and Implementing Combinator Languages},
	Volume = {1608},
	Year = {1999}}

@proceedings{DBLP:conf/lernet/2008,
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {LerNet ALFA Summer School},
	Editor = {Bove, Ana and Barbosa, Lu\'{\i}s Soares and Pardo, Alberto and Pinto, Jorge Sousa},
	Isbn = {978-3-642-03152-6},
	Publisher = {Springer},
	Series = {Lecture Notes in Computer Science},
	Title = {Language Engineering and Rigorous Software Development, International LerNet ALFA Summer School 2008, Piriapolis, Uruguay, February 24 - March 1, 2008, Revised Tutorial Lectures},
	Volume = {5520},
	Year = {2009}}

@article{Idioms,
	Author = {McBride, Conor and Paterson, Ross},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Ee = {http://dx.doi.org/10.1017/S0956796807006326},
	Journal = {J. Funct. Program.},
	Number = {1},
	Pages = {1-13},
	Title = {Applicative programming with effects},
	Volume = {18},
	Year = {2008}}

@article{Arrows,
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Hughes, John},
	Issn = {0167-6423},
	Journal = {Sci. Comput. Program.},
	Number = {1-3},
	Pages = {67--111},
	Publisher = {Elsevier North-Holland, Inc.},
	Title = {Generalising monads to arrows},
	Volume = {37},
	Year = {2000},
	Bdsk-Url-1 = {http://dx.doi.org/10.1016/S0167-6423(99)00023-4}}


@inproceedings{BSV09,
	Address = {New York, NY, USA},
	Author = {Baars, Arthur I. and Swierstra, S. Doaitse and Viera, Marcos},
	Booktitle = {TLDI '09: fourth ACM SIGPLAN Workshop on Types in Language Design and Implementation},
	Location = {Savannah, Georgia, USA},
	Pages = {15--26},
	Publisher = {ACM},
	Title = {{Typed Transformations of Typed Abstract Syntax}},
	Year = {2009}}

@inproceedings{BSV09b,
	Author = {Baars, Arthur I. and Swierstra, S.~Doaitse and Viera, Marcos},
	Booktitle = proc # {of the 9th Workshop on Language Descriptions Tools and Applications},
	Location = {York, UK},
	Pages = {18--33},
	Series = {ENTCS},
	Title = {{Typed Transformations of Typed Grammars: The Left Corner Transform}},
	Year = {2009}}

@inproceedings{VSL08,
	Address = {New York, NY, USA},
	Author = {Viera, Marcos and Swierstra, S. Doaitse and Lempsink, Eelco},
	Booktitle = proc # {of the first Symposium on Haskell},
	Isbn = {978-1-60558-064-7},
	Location = {Victoria, BC, Canada},
	Pages = {63--74},
	Publisher = {ACM},
	Title = {{Haskell, Do You Read Me?: Constructing and composing efficient top-down parsers at runtime}},
	Year = {2008},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1411286.1411296}}

@inproceedings{Viera:Attribute-Grammars,
	Address = {New York, USA},
	Author = {Viera, Marcos and Swierstra, S.~Doaitse and Swierstra, Wouter},
	Booktitle = proc # {of the 14th Int. Conf. on Functional Programming},
	Isbn = {978-1-60558-332-7},
	Location = {Edinburgh, Scotland},
	Pages = {245--256},
	Publisher = {ACM},
	Title = {{Attribute Grammars Fly First-Class: How to do aspect oriented programming in Haskell}},
	Year = {2009},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1596550.1596586}}

@article{hudak-building,
	Author = {Hudak, Paul},
	Journal = j_acmcs,
	Month = dec,
	Number = {4es},
	Pages = 196,
	Title = {Building Domain-Specific Embedded Languages},
	Volume = 28,
	Year = 1996}

@inproceedings{1086397,
	Address = {New York, NY, USA},
	Author = {Chakravarty, Manuel, M. T. and Keller, Gabriele and {Peyton Jones}, Simon},
	Booktitle = proc # {of the tenth International Conference on Functional Programming},
	Date-Modified = {2009-06-08 12:10:55 +0200},
	Pages = {241--253},
	Publisher = {ACM},
	Title = {Associated type synonyms},
	Year = {2005},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1086365.1086397}}

@inproceedings{512645,
	Address = {New York, NY, USA},
	Author = {Reps, Thomas, W. and Marceau, Carla and Teitelbaum, Tim},
	Booktitle = proc # {of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages},
	Date-Added = {2009-03-02 19:41:01 +0100},
	Date-Modified = {2009-06-08 12:08:49 +0200},
	Location = {St. Petersburg Beach, Florida},
	Pages = {1--13},
	Publisher = {ACM},
	Title = {Remote attribute updating for language-based editors},
	Year = {1986},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/512644.512645}}

@inproceedings{jones99thih,
	Author = {Jones, Mark P.},
	Booktitle = {Haskell Workshop},
	Date-Added = {2009-03-02 19:29:03 +0100},
	Date-Modified = {2009-03-02 19:29:03 +0100},
	Eprint = {papers/jones99thih.pdf},
	Howpublished = {\verb|http://www.cse.ogi.edu/~mpj/thih/thih-sep1-1999/|},
	Title = {{Typing Haskell in Haskell}},
	Url = {http://www.cse.ogi.edu/~mpj/thih/thih-sep1-1999/},
	Year = {1999},
	Bdsk-Url-1 = {http://www.cse.ogi.edu/~mpj/thih/thih-sep1-1999/}}

@inproceedings{dijkstra04thag,
	Author = {Dijkstra, Atze and Swierstra, S. Doaitse},
	Booktitle = {Advanced Functional Programming Summerschool},
	Date-Added = {2009-03-02 19:23:36 +0100},
	Date-Modified = {2009-03-02 19:23:36 +0100},
	Eprint = {papers/dijkstra04thag.pdf},
	Howpublished = {\verb|http://dx.doi.org/10.1007/11546382_1|},
	Institution = {Department of Computer Science, Utrecht University},
	Number = {3622},
	Publisher = {Springer-Verlag},
	School = {Department of Computer Science, Utrecht University},
	Series = {LNCS},
	Title = {{Typing Haskell with an Attribute Grammar}},
	Year = {2004}}

@article{kastens80order-attrgam,
	Author = {Kastens, Uwe},
	Date-Added = {2009-03-02 19:13:52 +0100},
	Date-Modified = {2009-03-02 19:13:52 +0100},
	Eprint = {papers/kastens80order-attrgam.pdf},
	Journal = {Acta Informatica},
	Pages = {229-256},
	Title = {{Ordered Attribute Grammars}},
	Volume = {13},
	Year = {1980}}

@article{Boyland:2005p52,
	Author = {Boyland, John},
	Date-Added = {2009-03-02 11:55:30 +0100},
	Date-Modified = {2009-06-08 12:11:11 +0200},
	Journal = {Journal of the ACM (JACM},
	Keywords = {remote attribution, Language description, collection attributes},
	Month = {Jul},
	Number = {4},
	Rating = {0},
	Title = {Remote attribute grammars},
	Url = {http://portal.acm.org/citation.cfm?id=1082036.1082042},
	Volume = {52},
	Year = {2005},
	}

@inproceedings{oury-swierstra:power-of-pi2,
	Author = {Oury, Nicolas and Swierstra, Wouter},
	Booktitle = proc # {of the Thirteenth International Conference on Functional Programming},
	Date-Added = {2009-03-02 10:49:00 +0100},
	Date-Modified = {2009-03-02 10:49:00 +0100},
	Location = {Victoria, BC, Canada},
	Title = {The Power of {Pi}},
	Year = {2008}}

@inproceedings{norell:afp,
	Author = {Norell, Ulf},
	Booktitle = {6th International School on Advanced Functional Programming},
	Date-Added = {2009-03-02 10:48:47 +0100},
	Date-Modified = {2009-03-02 10:48:47 +0100},
	Title = {Dependently Typed Programming in {Agda}},
	Year = {2008}}

@incollection{Hin03,
	Author = {Hinze, Ralf},
	Booktitle = {The Fun of Programming},
	Date-Modified = {2009-06-08 12:10:31 +0200},
	Editor = {Gibbons, Jeremy and {de Moor}, Oege},
	Pages = {245--262},
	Publisher = {Palgrave Macmillan},
	Title = {Fun with phantom types},
	Year = {2003}}

@techreport{Gaster96apolymorphic,
	Author = {Gaster, Benedict R. and Jones, Mark P.},
	Date-Added = {2009-03-01 18:39:57 +0100},
	Date-Modified = {2009-03-01 18:41:06 +0100},
	Institution = {Nottingham},
	Number = {96-3},
	Title = {A polymorphic type system for extensible records and variants},
	Type = {NOTTCS-TR},
	Year = {1996}}

@inproceedings{ReynoldsExpression,
	Author = {Reynolds, J.C.},
	Booktitle = {New Directions in Algorithmic Languages},
	Date-Added = {2009-03-01 18:07:45 +0100},
	Date-Modified = {2009-03-01 18:10:06 +0100},
	Editor = {Schuman, S.A.},
	Publisher = {INRIA},
	Title = {User defined types and procedural data as complementary approaches to data abstraction},
	Year = {1975}}

@inproceedings{Jon00,
	Address = {London, UK},
	Author = {Jones, Mark, P.},
	Booktitle = proc # {of the 9th European Symposium on Programming Languages and Systems},
	Date-Modified = {2009-06-08 12:10:05 +0200},
	Pages = {230--244},
	Publisher = {Springer-Verlag},
	Title = {Type Classes with Functional Dependencies},
	Year = 2000}

@unpublished{WadlerExpressionProblem,
	Author = {Wadler, Phil},
	Date-Added = {2009-03-01 13:47:51 +0100},
	Date-Modified = {2009-03-01 13:48:59 +0100},
	Note = {E-mail available online.},
	Title = {{The Expression Problem}},
	Year = {1998}}

@inproceedings{KLS04,
	Author = {Kiselyov, Oleg and L{\"a}mmel, Ralf and Schupke, Keean},
	Booktitle = proc # {{of the 2004 Workshop on Haskell}},
	Date-Modified = {2009-06-08 12:09:39 +0200},
	Location = {Snowbird, Utah, USA},
	Pages = {96--107},
	Publisher = {ACM Press},
	Title = {{Strongly typed heterogeneous collections}},
	Year = {2004},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1017472.1017488}}

@inproceedings{Hall01,
	Author = {Hallgren, Thomas},
	Booktitle = {Proc. of the Joint CS/CE Winter Meeting},
	Title = {Fun with functional dependencies or (draft) types as values in static computations in haskell},
	Year = {2001}}

@article{MBS00,
	Author = {{de Moor}, Oege and Backhouse, Kevin and Swierstra, S. Doaitse},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Journal = {Informatica (Slovenia)},
	Number = {3},
	Title = {First-class Attribute Grammars},
	Volume = {24},
	Year = {2000}}

@inproceedings{SV06,
	Address = {New York, NY, USA},
	Author = {Silva, Alexandra and Visser, Joost},
	Booktitle = proc # {of the 2006 Workshop on Haskell},
	Date-Modified = {2009-06-08 12:07:58 +0200},
	Isbn = {1-59593-489-8},
	Location = {Portland, Oregon, USA},
	Pages = {25--36},
	Publisher = {ACM},
	Title = {Strong types for relational databases},
	Year = {2006},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1159842.1159846}}

@inproceedings{MPW00,
	Address = {London, UK},
	Author = {{de Moor}, Oege and {Peyton Jones}, Simon, L. and Wyk, Eric, Van},
	Booktitle = proc # {of the 1st Int. Symposium on Generative and Component-Based Software Engineering},
	Isbn = {3-540-41172-0},
	Pages = {121--133},
	Publisher = {Springer-Verlag},
	Title = {Aspect-Oriented Compilers},
	Year = {2000}}

@inproceedings{PJM97,
	Author = {{Peyton Jones}, Simon and Jones, Mark and Meijer, Erik},
	Booktitle = {Haskell Workshop},
	Month = {June},
	Pubcat = {external},
	Title = {Type classes: an exploration of the design space},
	Year = {1997}}

@article{BirdRepMin,
	Author = {Bird, Richard S.},
	Date-Added = {2009-03-01 13:49:41 +0100},
	Date-Modified = {2009-03-01 13:50:00 +0100},
	Journal = {Acta Inf.},
	Pages = {239-250},
	Title = {Using Circular Programs to Eliminate Multiple Traversals of Data},
	Volume = {21},
	Year = {1984}}

@article{McB02,
	Address = {New York, NY, USA},
	Author = {McBride, Conor},
	Date-Modified = {2009-06-08 12:09:17 +0200},
	Journal = {J. Funct. Program.},
	Number = {5},
	Pages = {375--392},
	Publisher = {Cambridge University Press},
	Title = {Faking it Simulating dependent types in Haskell},
	Volume = {12},
	Year = {2002},
	Bdsk-Url-1 = {http://dx.doi.org/10.1017/S0956796802004355}}

@inproceedings{1017485,
	Address = {New York, NY, USA},
	Author = {Baars, Arthur I. and Swierstra, S. Doaitse},
	Booktitle = proc # {of the 2004 ACM SIGPLAN workshop on Haskell},
	Date-Added = {2008-07-28 11:04:50 +0200},
	Date-Modified = {2008-07-28 11:04:50 +0200},
	Doi = {http://doi.acm.org/10.1145/1017472.1017485},
	Isbn = {1-58113-850-4},
	Location = {Snowbird, Utah, USA},
	Pages = {69--79},
	Publisher = {ACM},
	Title = {{Type-safe, self inspecting code}},
	Year = {2004},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1017472.1017485}}

@misc{uulib:parsing,
	Author = {S.D.~Swierstra},
	Date-Added = {2008-07-28 10:39:39 +0200},
	Date-Modified = {2008-07-28 11:07:49 +0200},
	Howpublished = {\url{http://www.cs.uu.nl/wiki/bin/view/HUT/ParserCombinators}},
	Keywords = {parsing, combinators},
	Month = {July},
	Title = {{The Utrecht Parsing Libraries}},
	Year = {2008}}

@article{LPJ03,
	Author = {L{\"a}mmel, Ralf and {Peyton Jones}, Simon},
	Journal = {ACM SIG{\-}PLAN Notices},
	Month = mar,
	Note = proc # {of the ACM SIGPLAN Workshop on Types in Language Design and Implementation (TLDI~2003)},
	Number = {3},
	Pages = {26--37},
	Publisher = {ACM Press},
	Title = {Scrap your boilerplate: a practical design pattern for generic programming},
	Volume = {38},
	Year = {2003}}

@inproceedings{syb2,
	Author = {L{\"a}mmel, Ralf and {Peyton Jones}, Simon},
	Booktitle = proc # {{of the ACM SIGPLAN International Conference on Functional Programming (ICFP 2004)}},
	Location = {Snow Bird, UT, USA},
	Pages = {244--255},
	Publisher = {ACM Press},
	Title = {{Scrap more boilerplate: reflection, zips, and generalised casts}},
	Year = {2004}}

@misc{ticket,
	Author = {Petruzza, JC and Claessen, Koen and {Peyton Jones}, Simon},
	Note = {GHC Ticket 1544},
	Title = {Derived Read instances for recursive datatypes with infix constructors are too inefficient},
	Url = {http://hackage.haskell.org/trac/ghc/ticket/1544},
	Bdsk-Url-1 = {http://hackage.haskell.org/trac/ghc/ticket/1544}}

@inproceedings{perms2001,
	Author = {Baars, Arthur I. and L\"oh, A. and Swierstra, S. Doaitse},
	Booktitle = proc # {of the 2001 {ACM} {SIGPLAN} {H}askell {W}orkshop},
	Editor = {Hinze, R.},
	Pages = {171--182},
	Pubcat = {workshop proceedings},
	Publisher = {Elsevier},
	Title = {{Parsing Permutation Phrases}},
	Year = {2001}}

@article{1030338,
	Address = {New York, NY, USA},
	Author = {Baars, Arthur I. and L\"{o}h, Andres and Swierstra, S. Doaitse},
	Issn = {0956-7968},
	Journal = {J. Funct. Program.},
	Number = {6},
	Pages = {635--646},
	Publisher = {Cambridge University Press},
	Title = {{Parsing permutation phrases}},
	Volume = {14},
	Year = {2004}}

@techreport{BS08,
	Author = {Baars, Arthur I. and Swierstra, S. Doaitse},
	Date-Modified = {2008-07-28 14:04:47 +0200},
	Institution = {Utrecht University},
	Number = {21},
	Title = {Typed Transformations of Typed Abstract Syntax},
	Type = {{UU-CS}},
	Urldate = {/www.cs.uu.nl/research/techreps/UU-CS-2008-020.html},
	Year = {2008}}

@phdthesis{Bra08,
	Address = {Utrecht, The Netherlands},
	Author = {Bravenboer, Martin},
	Month = {January},
	School = {Utrecht University},
	Title = {Exercises in Free Syntax. Syntax Definition, Parsing, and Assimilation of Language Conglomerates},
	Year = {2008}}

@article{1360800,
	Address = {Amsterdam, The Netherlands, The Netherlands},
	Author = {Bouwers, Eric and Bravenboer, Martin and Visser, Eelco},
	Issn = {1571-0661},
	Journal = {Electron. Notes Theor. Comput. Sci.},
	Number = {2},
	Pages = {85--101},
	Publisher = {Elsevier Science Publishers B. V.},
	Title = {Grammar Engineering Support for Precedence Rule Recovery and Compatibility Checking},
	Volume = {203},
	Year = {2008}}

@article{Mcb07,
	Author = {McBride, Conor and Paterson, Ross},
	Citeulike-Article-Id = {2408154},
	Date-Modified = {2008-07-28 10:24:49 +0200},
	Doi = {10.1017/S0956796807006326},
	Journal = {Journal of Functional Programming},
	Number = {01},
	Pages = {1--13},
	Posted-At = {2008-06-16 11:49:51},
	Priority = {2},
	Title = {Applicative programming with effects},
	Volume = {18},
	Year = {2007},
	Bdsk-Url-1 = {http://dx.doi.org/10.1017/S0956796807006326}}

@book{Haskell98Report,
	Author = {{Peyton Jones}, Simon},
	Booktitle = {Haskell 98 Language and Libraries: the Revised Report},
	Citeulike-Article-Id = {2844321},
	Institution = {Cambridge University Press},
	Keywords = {file-import-08-05-29},
	Posted-At = {2008-05-29 14:25:55},
	Priority = {2},
	Title = {Haskell 98 Language and Libraries: the Revised Report},
	Year = {2003}}

@inproceedings{SPJ02,
	Author = {Sheard, Tim and {Peyton Jones}, Simon},
	Booktitle = proc # {of the ACM SIGPLAN workshop on Haskell},
	Isbn = {1-58113-605-6},
	Location = {Pittsburgh, Pennsylvania},
	Pages = {1--16},
	Publisher = {ACM Press},
	Title = {Template meta-programming for Haskell},
	Year = {2002}}

@inproceedings{SD96,
	Author = {Swierstra, S. Doaitse and Duponcheel, Luc},
	Booktitle = {Advanced Functional Programming, Second International Spring School},
	Eds = {Meijer, Erik and Sheard, Tim and Launchbury, John},
	Pages = {184--207},
	Publisher = SV,
	Series = LNCS,
	Title = {Deterministic, Error Correcting Combinator Parsers},
	Volume = 1129,
	Year = 1996}

@inproceedings{Joh98,
	Author = {Johnson, M.},
	Booktitle = {COLING-ACL {\~O}98, Montreal, Quebec, Canada},
	Pages = {619--623},
	Publisher = {Association for Computational Linguistics},
	Title = {Finite-state approximation of constraint-based grammars using left-corner grammar transforms},
	Year = {1998}}

@article{PVW+06,
	Address = {New York, NY, USA},
	Author = {{Peyton Jones}, Simon and Vytiniotis, Dimitrios and Weirich, Stephanie and Washburn, Geoffrey},
	Date-Modified = {2009-03-01 13:47:59 +0100},
	Issn = {0362-1340},
	Journal = {SIGPLAN Not.},
	Number = {9},
	Pages = {50--61},
	Publisher = {ACM Press},
	Title = {Simple unification-based type inference for GADTs},
	Volume = {41},
	Year = {2006}}

@inproceedings{PL04,
	Author = {Pasalic, Emir and Linger, Nathan},
	Booktitle = {Generative Programming and Component Engineering (GPCE'04)},
	Month = {October},
	Pages = {136 -- 167},
	Title = {Meta-Programming with Typed Object-Language Representations},
	Volume = {LNCS 3286},
	Year = {2004}}

@inproceedings{abstrIntUsingAG2008,
	Author = {Fokker, Jeroen and Swierstra, S.~Doaitse},
	Booktitle = {Language Descriptions, Tools and Applications},
	Editor = {Johnstone, Adrian and Vinju, Jurgen},
	Title = {Abstract Interpretation of Functional Programs using an Attribute Grammar System},
	Year = {2008}}

@inproceedings{dijkstra07ehcstruct,
	Author = {Dijkstra, Atze and Fokker, Jeroen and Swierstra, S. Doaitse},
	Booktitle = {Implementation of Functional Languages},
	Eprint = {papers/dijkstra07ehcstruct.pdf},
	Howpublished = {\verb|http://www.cs.uu.nl/wiki/Atze/WebHome/20070831-ifl07-ehcstruct.pdf|},
	Title = {The Structure of the Essential Haskell Compiler, or Coping with Compiler Complexity},
	Year = {2007}}

@inproceedings{uhc:architecture,
	Address = {New York, NY, USA},
	Author = {Dijkstra, Atze and Fokker, Jeroen and Swierstra, S.~Doaitse},
	Booktitle = {Haskell Symposium},
	Date-Added = {2008-10-08 21:02:56 +0200},
	Date-Modified = {2009-06-06 22:27:05 +0200},
	Keywords = {UHC, compiler, architecure, attribute grammar, GRIN},
	Location = {Edinburgh, UK},
	Month = {September},
	Publisher = {ACM},
	Read = {Yes},
	Title = {The Architecture of the {U}trecht {H}askell Compiler},
	Year = {2009}}

@article{CambridgeJournals:2837460,
	Author = {Swierstra, S. Doaitse and Chitil, Olaf},
	Date-Added = {2009-02-13 10:17:23 +0100},
	Date-Modified = {2009-06-08 12:08:15 +0200},
	Eprint = {http://journals.cambridge.org/article_S0956796808006990},
	Journal = {Journal of Functional Programming},
	Number = {01},
	Pages = {1-16},
	Title = {Linear, bounded, functional pretty-printing},
	Volume = {19},
	Year = {2009},
	Bdsk-Url-1 = {http://dx.doi.org/10.1017/S0956796808006990}}

@techreport{PPTr2004,
	Author = {Swierstra, S.D.},
	Date-Added = {2009-01-04 17:21:54 +0100},
	Date-Modified = {2009-06-08 12:07:28 +0200},
	Institution = {Inst. of Information and Comp. Science, Utrecht Univ.},
	Number = {UU-CS-2004-025a},
	Pubcat = {techreport},
	Title = {Linear, Online, Functional Pretty printing (extended and corrected version)},
	Urlpdf = {{http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-2004/2004-025a.pdf}},
	Year = 2004}

@inproceedings{1218573,
	Address = {New York, NY, USA},
	Author = {Eisenberg, Andrew D. and Kiczales, Gregor},
	Booktitle = proc # {of the 6th international conference on Aspect-oriented software development},
	Doi = {http://doi.acm.org/10.1145/1218563.1218573},
	Isbn = {1-59593-615-7},
	Location = {Vancouver, British Columbia, Canada},
	Pages = {73--84},
	Publisher = {ACM},
	Title = {Expressive programs through presentation extension},
	Year = {2007},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1218563.1218573}}

@inproceedings{1159817,
	Address = {New York, NY, USA},
	Author = {Fisher, David and Shivers, Olin},
	Booktitle = proc # {of the eleventh International Conference on Functional Programming},
	Isbn = {1-59593-309-3},
	Location = {Portland, Oregon, USA},
	Pages = {111--121},
	Publisher = {ACM},
	Title = {Static analysis for syntax objects},
	Year = {2006},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1159803.1159817}}

@article{ziggurat,
 author = {Fisher, David and Shivers, Olin},
 title = {Building language towers with ziggurat},
 journal = {J. Funct. Program.},
 issue_date = {September 2008},
 volume = {18},
 number = {5-6},
 month = sep,
 year = {2008},
 issn = {0956-7968},
 pages = {707--780},
 numpages = {74},
 publisher = {Cambridge University Press},
 address = {New York, NY, USA},
} 



@inproceedings{HHS:scripting,
	Address = {New York},
	Author = {Heeren, Bastiaan and Hage, Jurriaan and Swierstra, S. Doaitse},
	Booktitle = {Eighth ACM Sigplan International Conference on Functional Programming},
	Date-Added = {2008-07-15 17:18:21 +0200},
	Date-Modified = {2008-07-15 17:18:21 +0200},
	Pages = {3 -- 13},
	Pubcat = {conference},
	Publisher = {ACM Press},
	Title = {Scripting the type inference process},
	Year = {2003}}

@phdthesis{thesis:Heeren,
	Author = {Heeren, Bastiaan},
	Date-Added = {2008-07-15 17:39:33 +0200},
	Date-Modified = {2008-07-15 17:41:01 +0200},
	Keywords = {Helium, type inferencing, constraints},
	School = {Utrecht University},
	Title = {Top Quality Type Error Messages},
	Year = {2005}}

@inproceedings{1596650,
	Address = {New York, NY, USA},
	Author = {Dijkstra, Atze and Fokker, Jeroen and Swierstra, S. Doaitse},
	Booktitle = proc # {of the 2nd Symposium on Haskell},
	Date-Added = {2009-10-05 21:45:05 +0200},
	Date-Modified = {2010-02-15 23:14:46 +0100},
	Isbn = {978-1-60558-508-6},
	Location = {Edinburgh, Scotland},
	Pages = {93--104},
	Publisher = {ACM},
	Title = {The architecture of the {U}trecht {H}askell compiler},
	Year = {2009},
	Bdsk-Url-1 = {http://doi.acm.org/10.1145/1596638.1596650}}

@phdthesis{dijkstra05phd,
	Author = {Dijkstra, Atze},
	Date-Added = {2010-02-12 16:32:23 +0100},
	Date-Modified = {2010-02-12 16:40:03 +0100},
	Eprint = {papers/dijkstra05phd.pdf},
	Howpublished = {\verb|http://www.cs.uu.nl/groups/ST/Ehc/WebHome|},
	School = {Utrecht University, Department of Information and Computing Sciences},
	Title = {{Stepping through Haskell}},
	Tutor = {S.Doaitse Swierstra},
	Year = {2005}}

@inproceedings{1425822,
	Address = {Berlin, Heidelberg},
	Author = {Dijkstra, Atze and Fokker, Jeroen and Swierstra, S. Doaitse},
	Booktitle = {Implementation and Application of Functional Languages: 19th International Workshop, IFL 2007, Freiburg},
	Date-Added = {2009-01-15 23:22:55 +0100},
	Date-Modified = {2009-01-16 01:16:41 +0100},
	Pages = {57--74},
	Publisher = {Springer-Verlag},
	Title = {The Structure of the Essential Haskell Compiler, or Coping with Compiler Complexity},
	Volume = {5083},
	Year = {2008},
	Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-85373-2_4}}

@inproceedings{Swierstra08,
	Author = {Swierstra, S. Doaitse},
	Bibsource = {DBLP, http://dblp.uni-trier.de},
	Booktitle = {LerNet ALFA Summer School},
	Date-Modified = {2010-04-01 21:43:23 +0200},
	Ee = {http://dx.doi.org/10.1007/978-3-642-03153-3_6},
	Pages = {252-300},
	Title = {Combinator Parsing: A Short Tutorial},
	Year = {2008}}

@inproceedings{HList,
	Author = {Kiselyov, Oleg and L{\"a}mmel, Ralf and Schupke, Keean},
	Booktitle = proc # {{of the 2004 Workshop on Haskell}},
	Isbn = {1-58113-850-4},
	Location = {Snowbird, Utah, USA},
	Pages = {96--107},
	Publisher = {ACM Press},
	Title = {{Strongly typed heterogeneous collections}},
	Year = {2004},
}
